//
//  RCUser.swift
//  RCWeibo
//
//  Created by CL on 15/12/27.
//  Copyright © 2015年 CL. All rights reserved.
//

import UIKit

class RCUser: NSObject {
    
    ///用户UID
    var id: Int64 = 0
    
    ///友好显示名称
    var name: String?
    
    /// 用户头像地址（中图），50×50像素
    var profile_image_url: String?
    /// 用户头像的url(通过用户头像URL获得)
    var headURL: NSURL? {
    
        get{
        
            return NSURL(string: profile_image_url ?? "")
        }
    }
    
    /// 认证类型，-1：没有认证，0，认证用户，2,3,5: 企业认证，220: 达人
    var verified_type: Int = -1
    /// 通过verified_type等级设置认证类型图片
    var verified_type_image: UIImage? {
        // 因为verified_type有多个选项，考虑使用switch
        switch verified_type {
            
        case -1: return nil
        case 0: return UIImage(named: "avatar_vip")
        case 2,3,5 : return UIImage(named: "avatar_enterprise_vip")
        case 220 : return UIImage(named: "avatar_grassroot")
        default: return nil

        }
        
    }
    
    /// 会员等级
    var mbrank: Int = 0
    ///  会员等级图片
    var mbrank_image: UIImage? {
    
        //判断是否有等级
        if mbrank > 0 && mbrank < 7 {
        
            return UIImage(named: "common_icon_membership_level\(mbrank)")
 
        }
        
        return nil
    }
    
    //MARK: - kvc赋值
    init(dict: [String : AnyObject]){
        
        super.init()
        //KVC赋值
        self.setValuesForKeysWithDictionary(dict)
        
    }
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
        //为没有定义属性的key防报错
        
    }
    
    //MARK: - 重写描述属性
    override var description: String{
        
        let keys = ["id","name","profile_image_url","mbrank","verified_type"]
        return dictionaryWithValuesForKeys(keys).description
    }

}
